const baseURL = 'https://demo.sytton.top/taffe/api'

const timeout = 5000

// 封装api请求
const request = function (option: any) {
	// 获取用户传入的url
	var url = baseURL + option.url

	// 添加提请求头
	var header = option.header || {}
	if (!option.disableToken) {
		// 添加token 
		//header.Authorization = 'Bearer ' + uni.getStorageSync('token')
		header.Authorization = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIzY2M2MmE4Mzk0MDE0Y2UzOTBmYWU1MmMxZDk3NWNmOCJ9.6l47w4idbPy4uiIECifh9aruVxk6wwLKn44ngvpBy1Zw_J3P3yIqI9rOE2vcKx04-fSUD9x2jbbTN028WUcIow'
	}
	header.channel = 'wx'

	// 加载提示
	var loading = option.loading;
	// 如果有loading就显示loading
	if (loading) {
		uni.showLoading(loading)
	}

	// 返回一个promise
	return new Promise((resolve, reject) => {
		// 发起一个request请求
		uni.request({
			url, //请求url
			method: option.method || "GET", //请求方法
			header, //请求头
			timeout,
			data: option.data || option.params, //请求数据
			success(res) {
				// 成功返回结果
				if (res.statusCode === 200) {
					resolve(res.data)
					// 如果是101 没有权限
					// if(res.data.code==101){
					//     uni.showToast({
					//         title: res.data.msg,
					//         icon:'none'
					//     })
					//     uni.redirectTo({
					//         url: '/pages/login/index',
					//     })
					// }
					// if(res.data.code!=200&&res.data.code!=0){
					//     uni.showToast({
					//         icon:'none',
					//         title:res.data.msg||'请求错误'
					//     })
					// }
				}
			},
			fail(err) {
				// 失败返回失败结果
				uni.showToast({
					title: '请求失败',
					icon: 'error'
				})
				console.error(err);
				reject(err)
			},
			complete() {
				// 完成 关闭loading
				if (loading) {
					uni.hideLoading()
				}
			}
		})
	})
}

// 定义get简洁方法
request.get = function (url: string, config?: any) {
	return request({
		url,
		method: "GET",
		...config
	})
}

// 定义post简洁方法
request.post = function (url: string, data?: any, config?: any) {
	return request({
		url,
		method: "POST",
		...config,
		data
	})
}
// 导出请求
export { request }